﻿using System.Collections.Generic;

namespace MashGen.Engine.Expressions
{
    public interface IExpressionVisitor<R, P>
    {
        R VisitNumber(Number number, P parameter);
        R VisitVariable(Variable variable, P parameter);
        R VisitNegative(Negative negative, P parameter);
        R VisitSum(Sum sum, P parameter);
        R VisitProduct(Product product, P parameter);
        R VisitQuotient(Quotient quotient, P parameter);
        R VistPower(Power power, P parameter);
    }
}
